package create.builder;

/**
 * @author lzp
 * @Date:2023/2/24
 * @description: 抽象建造者,定义建造某种角色的所有方法
 */
public abstract class Builder {

	/**
	 * protected修饰，包外无法访问，屏蔽建造细节
	 */
	protected Role role = new Role();

	/**
	 * 建造头部
	 */
	public abstract void buildHead();

	/**
	 * 建造脸
	 */
	public abstract void buildFace();

	/**
	 * 建造身体
	 */
	public abstract void buildBody();

	/**
	 * 建造头生命条
	 */
	public abstract void buildHp();

	/**
	 * 建造能量值
	 */
	public abstract void buildSp();

	/**
	 * 建造魔法值
	 */
	public abstract void buildMp();

	public Role getResult() {
		return role;
	}

}
